﻿using DFGK_WMS.Model.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using DFGK_WMS.Model.DTO;

namespace DFGK_WMS.IRepository
{
    /// <summary>
    /// 盘点计划表
    /// </summary>
    public interface IStocktakingPlanRepository:IBaseRepository<TStocktakingPlan>
    {
        /// <summary>
        /// 添加盘点计划表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        bool AddStocktakingPlan(StocktakingPlanDto  model);

        /// <summary>
        /// 删除盘点计划表
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        bool DeleteStocktakingPlan(int  id);

        /// <summary>
        /// 修改盘点计划表
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        bool UpdateStocktakingPlan(StocktakingPlanDto model);

        /// <summary>
        /// 盘点计划表分页显示
        /// </summary>
        /// <param name="houseId"></param>
        /// <param name="areaId"></param>
        /// <param name="billSn"></param>
        /// <param name="status"></param>
        /// <returns></returns>
        List<TStocktakingPlan> GetAllStocktakingPlans(int? houseId , int? areaId , string? billSn , int? status,int pageIndex,int pageSize,out int toalCount);

        /// <summary>
        /// 根据Id查询
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        TStocktakingPlan GetStocktakingPlan(int id);

        /// <summary>
        /// 修改状态
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateState(ReceivingOrderDetailDto model);
    }
}
